/*
 * 44. 最小子数组
 * 给定一个整数数组，找到一个具有最小和的子数组。返回其最小和。
 * 
 * 样例
 * 给出数组[1, -1, -2, 1]，返回 -3
 * 注意事项
 * 子数组最少包含一个数字
 * 
 * 2018.10.09 @jeyming
 */
package minimum_subarray_0044;

import java.util.List;

public class Minimum_subarray_0044 {
	/*
     * @param nums: a list of integers
     * @return: A integer indicate the sum of minimum subarray
     */
    public int minSubArray(List<Integer> nums) {
    	int min = nums.get(0);
    	int sum = 0;
    	for (int i = 0; i < nums.size(); ++i) {
    		sum += nums.get(i);
    		if(sum < min) {
    			min = sum;
    		}
    		if(sum > 0) {
    			sum = 0;
    		}
    	}
    	return min;
    }

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
